package com.hualan.sfzy.controller.consult;

import com.hualan.sfzy.constant.CommonConstant;
import com.hualan.sfzy.model.entity.ConsultMessage;
import com.hualan.sfzy.service.impl.consult.ConsultMessageServiceImpl;
import com.hualan.sfzy.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/consultMessage")
// 咨询师留言控制

public class ConsultMessageController {
    @Autowired
    private ConsultMessageServiceImpl service;

    // 添加留言     注意：只有小程序端能添加留言
    @PostMapping
    public Result add(@RequestBody ConsultMessage entity){
        return service.add(entity)>0?Result.success():Result.error();
    }

    // 修改留言   本质是咨询师回复留言
    @PutMapping
    public Result edit(@RequestBody ConsultMessage entity){
        return service.edit(entity)>0?Result.success():Result.error();
    }

    // 删除留言
    @DeleteMapping("/{id}")
    public Result remove(@PathVariable Integer id){
        return service.remove(id)>0?Result.success():Result.error();
    }
    // 批量删除
    @DeleteMapping
    public Result removeBatch(Integer[] ids){
        return service.removeBatch(ids)>0?Result.success():Result.error();
    }

    // 查询所有留言
    @GetMapping
    public Result find(){
        return Result.success(service.find());
    }
    // 动态分页查询
    @GetMapping("/page")
    public Result findPage(@RequestParam(value = CommonConstant.PAGE_NUM,required = false,defaultValue = CommonConstant.PAGE_NUM_DEFAULT) Integer pageNum,
                           @RequestParam(value = CommonConstant.PAGE_SIZE,required = false,defaultValue = CommonConstant.PAGE_SIZE_DEFAULT) Integer pageSize,
                           ConsultMessage entity){
        return Result.success(service.findPage(pageNum,pageSize,entity));
    }
    // 根据 id 查询留言
    @GetMapping("/{id}")
    public Result findById(@PathVariable Integer id){
        return Result.success(service.findById(id));
    }

    // 小程序 根据咨询师 id 查询留言
    @GetMapping("/consultId/{id}")
    public Result findByConsultId(@PathVariable Integer id){
        return Result.success(service.selectByConsultid(id));
    }

    // 小程序 根据咨询师 id 获取咨询师所有的留言
    @GetMapping("/consultIdPro/{id}")
    public Result findByConsultIdPro(@PathVariable Integer id){
        return Result.success(service.selectByConsultidPro(id));
    }

}
